The number of enterprises using services provided by cloud systems (hereinafter, referred to as “cloud services”) in their business activities has been increased. One of the advantages of using a cloud service is a reduction in the system total cost of ownership (TCO). In particular, a reduction in the operation and administration costs is worth an attention. Another appealing point is in the system installation and updating costs that are much lower than those for in-house developed systems.
One of the fundamental reasons why use of a cloud service reduces a TCO is that the computer resources such as server devices are effectively utilized. Service providers providing a large number of cloud services can increase the total utilization of the computer resources by efficiently allocating the resources to the services.
Thus, the service providers can provide cloud services at a low cost, compared with that required in the systems owned by individual users. Because conventional systems are typically designed to allocate computer resources statically to the services, such systems have been incapable of allocating a large number of computers to a large number of service processes freely.
From a technological standpoint, developments in the virtualization technology have made a large contribution to the wide-spreading use of cloud services. Virtualization technologies partition a physical computer resource into logical units (virtual machines), and assign such logical units to service processes, so that computer resources can be freely assigned to services. As a result, physical computer resources can be shared among services regardless of the type of the services, and potential for the optimal allocation of physical computer resources has been increased.
Because a cloud system includes a large number of computers, a mandatory requirement of the systems is the fail-safeness of the computers. Generally speaking, the failure probability in a cloud system increases as the number of computers increases. Assuming that the availability of a single computer is 99.95 percent, as an example, the availability at which ten-thousand computers all operate normally simultaneously is less than one percent.
As the cloud services come to be used in an increased number of fields, users have started considering using the cloud services for services requiring 24×7 stable operations, e.g., what is called social infrastructure services. At the same time, there are some other cloud services such as big data analyses that require an enormous amount of computing resources, but do not always require high reliability or availability.
For example, some services may require a guarantee for 24×7 non-stop operations with a mean time to repair (MTTR) of 1 minute or less, and some other services may only require best-effort availability at an availability factor of 99 percent or so. Another example of a service in which the availability is less critical is a service allowing computer resources to be used at a low price while the computer resources are not used. Related art examples are disclosed in Japanese Patent Application Laid-open No. 2005-011237, and Japanese Patent Application Laid-open No. 2005-100387.
In case of a server failure in the cloud system, however, it has been difficult to efficiently allocate services to available server devices in consideration of the quality levels the service processes are required to achieve.